Transform map at printer cartridge

ABSTRACT

A transform wrapper is stored on a memory device and the memory device may be included in a printer cartridge. The transform wrapper may dynamically build a transform map for a printer based on metadata stored at the memory device. The metadata may indicate at least one of a type of depositing material, transform map, print media and printer.

RELATED APPLICATIONS

This patent arise from a continuation of U.S. patent application Ser.No. 16/987,947, which was filed on Aug. 7, 2020, which arises from acontinuation of U.S. patent application Ser. No. 16/985,835, which wasfiled on Aug. 5, 2020, which arises from a continuation of U.S. patentapplication Ser. No. 16/243,701, which was filed on Jan. 9, 2019, whicharises from a continuation of U.S. patent application Ser. No.15/329,045, which was filed on Jan. 25, 2017, which is the U.S. nationalstage of International Patent Application No. PCT/US2014/051684, havingan international filing date of Aug. 19, 2014. Priority is claimed toU.S. patent application Ser. No. 16/987,947, U.S. patent applicationSer. No. 16/985,835, U.S. patent application Ser. No. 16/243,701, U.S.patent application Ser. No. 15/329,045, and International PatentApplication No. PCT/US2014/051684. U.S. patent application Ser. No.16/987,947, U.S. patent application Ser. No. 16/985,835, U.S. patentapplication Ser. No. 16/243,701, U.S. patent application Ser. No.15/329,045, and International Patent Application No. PCT/US2014/051684are hereby incorporated by reference in their entireties for allpurposes.

BACKGROUND

Output devices such as printers may implement a subtractive color model,like a cyan, magenta, yellow, and black (CYMK) color model, while inputdevices such as computer monitors, mobile phones, and other inputdevices may implement an additive color model, like a red, green andblue (RGB) color model.

To output data from an input device, such as a graphic, text or acombination thereof, output devices may convert the additive color modelinto a subtractive color model via a print color transform.Manufacturers and/or vendors are challenged to provide print colortransform such that graphics and/or text are outputted from outputdevices, like a printer, with more accurate color representation.

BRIEF DESCRIPTION OF THE DRAWINGS

The following detailed description references the drawings, wherein:

FIG. 1 is an example block diagram of a printer cartridge including atransform wrapper to build a transform map;

FIG. 2 is example block diagram of a memory device of FIG. 1 ;

FIG. 3 is an example block diagram of a printer cartridge includinginstructions for generating a transform map at the printer cartridge;and

FIG. 4 is an example flowchart of a method for generating a transformmap at a printer cartridge.

DETAILED DESCRIPTION

Specific details are given in the following description to provide athorough understanding of examples. However, it will be understood thatexamples may be practiced without these specific details. For example,systems may be shown in block diagrams in order not to obscure examplesin unnecessary detail.

Print color transforms may be dependent on a particular ink or tonerformulation. Therefore, it may be desirable to provide color tablesalong with the printer inks or toners, rather than include them inprinter firmware or a printer driver. However, compared to storing colortables in printer firmware, the management of color data in printersupplies may be more complicated. For instance, a customer may haveinstalled a mix of supply versions in the printer, and differentsupplies may have changes in inks and color tables and may supportdifferent media. In addition, those supplies may be used by multipleprinters, or be used in printers that have not yet been developed.

Accordingly, examples herein may include a system embedded in the printcartridge memory, which allows for multiple versions and permutations ofinks, color tables, print media, and/or printers. In one example, aprinter cartridge may include a memory device. A transform wrapper maybe stored on the memory device. The transform wrapper may dynamicallybuild a transform map for a printer based on metadata stored at thememory device. The metadata may indicate at least one of a type ofdepositing material, transform map, print media and printer.

The transform wrapper may use the metadata for building transform datafrom more primitive data elements, or other existing transforms. Thisdata transform or encoding may provide flexibility to handle thedifferent versions and permutations that may arise, such as changes ininks, media support, color tables, and printers. For example, includinga color table map on a printer cartridge may offer improved ink/tonertypes to customers that did not exist at a time the original product wasmanufactured. Also, examples may be able to correct color tables inprinters in the field for errors discovered after the start ofmanufacturing.

Further, examples may correct color tables due to changes in media andadd support for media types that did not exist at the time the productwas manufactured. Moreover, examples may introduce inks/toners withdifferent color characteristics as well as introduce different improvedcolor tables for a single color, without requiring the customer toreplace all ink/toner supplies to correct for errors. Examples mayfurther reduce a required memory storage space on the printer cartridgefor storing color tables.

Referring now to the drawings, FIG. 1 is an example block diagram of aprinter cartridge 100 including a transform wrapper 120 to build atransform map 140. The printer cartridge 100 may be any type ofcartridge to store a depositing material. Example depositing materialsmay include ink, toner, plastic, polymer, powder metal, alloy and thelike. In one example, the printer cartridge 100 may be an ink cartridgethat contains liquid ink for use with an inkjet printer. In anotherexample, the printer cartridge 100 may be a toner cartridge thatcontains dry toner powder for use with a laser printer.

The printer cartridge 100 is shown to include a memory device 110. Thememory device 110 may be any electronic, magnetic, optical, or otherphysical storage device. For example, the memory device 110 may be aRandom Access Memory (RAM), an Electrically Erasable ProgrammableRead-Only Memory (EEPROM), a Read-only memory (ROM), flash memory, astorage drive or the like.

The memory device 110 is shown to store a transform wrapper 120, wherethe transform wrapper 120 includes metadata 130. The transform wrapper120 may refer to any type of container or wrapper format, such as ametafile format that describes how different data elements and metadatacoexist in a file. The term metafile may refer to a file format that canstore multiple types of data. The term metadata 130 may includestructural metadata and/or descriptive metadata. Structural metadata mayrefer to the design and specification of data structures, such as acontainer of data. Descriptive metadata may refer to individualinstances of application data, such as the data content.

The transform wrapper 120 may dynamically build a transform map 140 fora printer (not shown), such as laser or inkjet printer, based on themetadata 130 stored at the memory device 110. The metadata 130 mayindicate a type of the depositing material, transform map, print mediaand printer. The metadata 130 will be explained in greater detail belowwith respect to FIG. 2 .

The transform map 140 may be a type of color table and/or map. Asexplained above, a color table may be used to convert between differentcolor models. For example, before an input image can be printed as aphysical output, the input additive color model, such as RGB, may beconverted to an output subtractive color model, such as CMYK. This maybe done using a color table that transforms or converts RGB color datainto CMYK color data. Examples of RGB color models may include sRGB,Adobe® RGB, scan RGB, and the like. However, examples are not limited tothe RGB and CYMK color models, and may include any type of input and/oroutput color models, such as the Specifications for Web OffsetPublications (SWOP) CMYK model and the International Commission onIllumination (CIE) L*a*b* color model.

In one example, the transform map 140 may correspond to a particularmedia type. For example, particular paper types, or particular papercolors may have corresponding transform maps 140. For example, onetransform map 140 may correspond to plain paper and another transformmap 140 may correspond to thicker paper, such as company letterhead, orbond paper. In another example, different degrees of output quality mayhave different transform maps 140. For example, a “draft” quality mayhave one transform map 140, and a “best” quality may have a differenttransform map 140. In yet another example, different input devices mayhave different corresponding transform maps 140. For example, differentmodels of printers may have different corresponding transform maps 140.

While FIG. 1 show a single transform map 140, examples of the printercartridge 100 may include a plurality of transform maps 140, such as fordifferent types and/or versions of printers, media, depositingmaterials, users and the like. Moreover, while FIG. 1 shows a singleprinter cartridge 100, a plurality of the print cartridges 100 may beinterfacing with a single printer. Each of these printer cartridges 100may correspond to a different color.

For example, one of the printer cartridges 100 may include black ink andanother of the printer cartridges may include cyan, magenta and yellowink. In another example, one of the printer cartridges 100 may includeblack ink, another of the printer cartridges 100 may include cyan ink,yet another of the printer cartridges 100 may include magenta ink, andyet another of the printer cartridges 100 may include yellow ink.Further, each of these printer cartridges 100 may contain the transformmap 140. Also, the transform map 140 of one of the printer cartridges100 may be influenced by another of the printer cartridges 100, such asif different versions of the printer cartridges 100 are used togetherfor a single printer.

FIG. 2 is example block diagram of a memory device 210 of FIG. 1 . Thememory device 210 of FIG. 2 may respectively include at least thefunctionality and/or hardware of the memory device 110 of FIG. 1 . Forinstance, the memory device 210 is shown to include a transform wrapper220, which further includes metadata 230. Here, the metadata 230 isfurther shown to include a property 232, tag 234, condition 236 andrecipe 238. Further, the memory device 210 is shown to store primitivedata 250. While FIG. 2 shows a single property 232, tag 234, condition236 and recipe 238, examples may include a plurality of the properties232, tags 234, conditions 236 and/or recipes 238. For instance, theremay be separate tags 224 for the type of media, color space, supplyfamily and the like.

The property 232 may describe primitive data 250 stored and/or generatedby the printer cartridge 100. The primitive data 250 may include basiccolor information about the contents of the printer cartridge 100, suchas a version, depositing material channel, and/or dimension of theprinter cartridge 110. The dimension may include a channel and/or countof nodes of a color table. The channel may relate to a type of color.The node may indicate output colorant amount.

The tag 234 may provide an identification of the printer cartridge 100.For example, the tag 234 may include a color space, media type, printquality, printer platform, supply family, and the like. The condition236 may restrict when the transform map 140 is available for use. Forexample, the condition 236 may specify which of a plurality of types oftransform maps to use based on the tag 234. In one example, thecondition 236 may include a Boolean expression of properties 232 andtags 234. For example, the condition 236 may be used to specifyexception color tables that handle cases such as multiple printerplatforms, or multiple ink color revisions.

The recipe 238 may include instructions for how to build the transformmap 140 from at least one of an existing map and the primitive data 250.In one example, the instructions of the recipe 238 may utilize a stackmodel with reverse Polish notation (RPN) operators. The recipe 238 mayuse tags 234, to identify components, such as the existing map 238and/or primitive data 250. Without tags 234, the recipe 238 would onlybe able to identify other components using their properties 232. Thismay be problematic as the same set of properties 232 may describemultiple components. For example, there may be multiple channel mapcomponents that have the same channel color (e.g. Cyan) and node count(e.g. 17-cubed) properties 232.

The transform map 140 may be a channel map and/or a color map. The colormap may include a mapping for a plurality of colors while the channelmap may include a mapping for only one of the plurality of colors. Thecolor map may, for example, convert between the CYMK and RGB colormodels. The color map may include a plurality of the channel maps andthe channel map may include the primitive data.

In one example, the recipe 238 may include instructions to select aplurality of the channel maps by matching at least one of the property232 and the tag 234 of the primitive data and to combine the pluralityof channel maps to build the color map. Moreover, the primitive data maynot be selected if there is a mismatch with the tag 234 and/or property232. For example, the tag 234 may match the media type, such as plainpaper, but there may be a mismatch with the property 232, such asdifferent colors. In this case, the primitive data may not be usedbecause of the mismatch with the property 232, despite the matching tag234.

Each of the channel maps may correspond to one of a plurality ofdepositing material colors of the printer. For instance, the recipe may238 may define the operation for building a CMYK color map for colormatching an RGB source color to a specific printer's plain paper, normalquality mode. Here, the condition 236 may be set to default, such thatthis color table will normally be used when referenced by a set (orsubset) of matching tags 234. The recipe 238 may specify that color datatables for the individual inks, e.g. channel maps, are to be determinedby referencing the properties 2232, tags 234 and conditions 236, pushedonto the stack, and then combined to build the CYMK color map.

In another example, the recipe 238 may include instructions to build thechannel map based on a neutral axis, a set of seed nodes and a deltatable included in the primitive data 250. The neutral axis may relate toa line extending from an origin of a three-dimensional color table to anode of the color table farthest from the origin. The set of seed nodesmay correspond to nodes of a compressed color table. The delta table mayindicate a difference between an interpolated color table node and acorresponding actual color table. For example, the recipe 238 may definethe operation for building the cyan channel map by pushing elements ontoa stack, such as the neutral axis, set of seed nodes, and the deltatable.

The transform map 140 may be a base and/or modifier map. The base mapmay be used without any modification by the printer. The modifier mapmay be used to modify at least one of the base map and the primitivedata. In one example, the recipe 238 may include instructions to build anew map based on the modifier map and the base map. The modifier map maybe used to specify scale, specify offset and/or select replacement ofdata of the base map. For example, a draft-mode color table may bespecified as a normal-mode color table modified with a small set ofscale factors. For instance, the modifier map could be referenced by thebase map's recipe 238 to change the node values in the base map.

Here, the conditions 236 may specify a printer platform and specificcolor ink versions. These conditions 236 may then be tested. If true,this color table may be used instead of the default. The recipe 238 mayuse inheritance to allow re-use of existing color data. For example, thechannel map for a prior printer platform may be pushed onto the stack.Next, a scalar modifier table may be pushed onto the stack. Finally, anoperator may apply the scalar table to the inherited channel map.

The above examples for specifying the creation and application oftransform maps 140 as well as other color management data elements mayexist on the supplies (e.g. printer cartridges), may be updated in thesupplies, and may be resolved run-time when a customer changes inks ortoners. The metadata 230 including tags 234, properties 232, andconditions 236 may allow for versioning and special casing for thepermutation of potential changes in printers, inks, and color tables.The tags 234 may also provide references to allow inheritance, where acolor data element may be defined as a derivation of a differentelement. The recipe 238 may specify the construction of color transformdata, and also provide a means of specifying the construction of colordata that is compactly derived from other data. In one example, themetadata 230 may be compiled into a compact binary symbolicrepresentation prior to storage in the memory device 210.

FIG. 3 is an example block diagram 300 of a computing device includinginstructions for generating a transform map at a printer cartridge. Inthe example of FIG. 3 , the device 300 includes a processor 310 and amachine-readable storage medium 320. The machine-readable storage medium320 further includes instructions 322, 324 and 326 for generating atransform map at a printer cartridge.

The computing device 300 may be, for example, a printer cartridge, aprinter, a mobile device, a fax machine, multimedia device, a securemicroprocessor, a notebook computer, a desktop computer, an all-in-onesystem, a server, a network device, a controller, a wireless device, orany other type of device capable of executing the instructions 322, 324and 326. In certain examples, the computing device 300 may include or beconnected to additional components such as memories, controllers, etc.

The processor 310 may be, at least one central processing unit (CPU), atleast one semiconductor-based microprocessor, at least one graphicsprocessing unit (GPU), a microcontroller, special purpose logic hardwarecontrolled by microcode or other hardware devices suitable for retrievaland execution of instructions stored in the machine-readable storagemedium 320, or combinations thereof. The processor 310 may fetch,decode, and execute instructions 322, 324 and 326 to implementgenerating the transform map at the printer cartridge. As an alternativeor in addition to retrieving and executing instructions, the processor310 may include at least one integrated circuit (IC), other controllogic, other electronic circuits, or combinations thereof that include anumber of electronic components for performing the instructions 322, 324and 326.

The machine-readable storage medium 320 may be any electronic, magnetic,optical, or other physical storage device that contains or storesexecutable instructions. Thus, the machine-readable storage medium 320may be, for example, Random Access Memory (RAM), an ElectricallyErasable Programmable Read-Only Memory (EEPROM), a storage drive, aCompact Disc Read Only Memory (CD-ROM), and the like. As such, themachine-readable storage medium 320 can be non-transitory. As describedin detail below, machine-readable storage medium 320 may be encoded witha series of executable instructions for generating the transform map atthe printer cartridge.

Moreover, the instructions 322, 324 and 326 when executed by a processor(e.g., via one processing element or multiple processing elements of theprocessor) can cause the processor to perform processes, such as, theprocess of FIG. 4 . For example, the generate instructions 322 may beexecuted by the processor 310 to generate a transform map based on aproperty and a tag included at the printer cartridge (not shown). Thetest instructions 324 may be executed by the processor 310 to test acondition associated with the transform map and included at the printercartridge.

The allow instructions 326 may be executed by the processor 310 to allowthe transform map to be used by a printer (not shown) if the testedcondition is satisfied. The property may describe primitive data storedand/or generated by the printer cartridge. The tag may provide anidentification of the printer cartridge. The transform map may be storedat the printer cartridge. A change in the metadata may be communicatedfrom the print cartridge to the printer during run-time, if at least onea type of a depositing material, transform map, print media and printerchanges.

FIG. 4 is an example flowchart of a method 400 for generating atransform map at a printer cartridge. Although execution of the method400 is described below with reference to the printer cartridge 100,other suitable components for execution of the method 400 can beutilized, such as the printer cartridge 200. Additionally, thecomponents for executing the method 400 may be spread among multipledevices. In certain scenarios, multiple devices acting in coordinationcan be considered a single device to perform the method 400. The method400 may be implemented in the form of executable instructions stored ona machine-readable storage medium, such as storage medium 320, and/or inthe form of electronic circuitry.

At block 410, the printer cartridge 100 executes a transform wrapper 120to dynamically generate a transform map 140 for a printer based onmetadata 130 stored at the printer cartridge 100. At block 420, thetransform map 140 is selected to be used by the printer based on testinga condition included in the metadata 130. The metadata 130 may indicatea type of depositing material, transform map, print media and/orprinter. At least one of a plurality of different types of the transformmap 140 is generated and used based on a property and tag included inthe metadata 130.

We claim:
 1. A printer cartridge comprising: a depositing material of afirst color of a plurality of colors; and memory including: primitivedata; and metadata, wherein the metadata is to be used to: build aplurality of channel maps from the primitive data; and identify each ofthe plurality of channel maps, respective ones of the channel maps:correspond to the first color; are to be combined with other channelmaps of other colors of the plurality of colors different than the firstcolor to build a color transform map to convert from an input colormodel to an output color model for printing; correspond to apredetermined print media type of the plurality of print media types;and correspond to a predetermined print quality of a plurality of printqualities; the primitive data includes: for each of the plurality ofchannel maps, a neutral axis relating to a line that extends from anorigin of a three-dimensional color table to a node of the color tablefarthest from the origin; for each of the plurality of channel maps, aset of seed nodes corresponding to nodes of a compressed channel map;and for each of the plurality of channel maps, a delta table indicativeof a difference between an interpolated channel map node and acorresponding actual channel map; the metadata includes: a plurality oftags, respective tags associated with respective ones of the pluralityof channel maps to identify a color space, the corresponding print mediatype of the plurality of print media types, the corresponding printquality of the plurality of print qualities, a printer platform, and asupply family; for each of the plurality of channel maps, propertiesthat include at least one of a channel or node count of an associatedchannel map of the plurality of channel maps; and a recipe includinginstructions for the printer to build at least one of the channel mapsof the plurality of channel maps from the neutral axis, the set of seednodes and the delta table of the corresponding primitive data; and atinstallation of the printer cartridge, the metadata and primitive dataare communicated from the printer cartridge to the printer at runtime tochange the physical printing output of the printer.
 2. The printercartridge of claim 1, wherein the recipe includes instructions to builda channel map based on a property and tag.
 3. The printer cartridge ofclaim 1, wherein the nodes of the compressed channel map indicatecolorant output amounts.
 4. The printer cartridge of claim 1, whereinthe properties include a printer cartridge version.
 5. The printercartridge of claim 1, wherein the metadata includes a condition that isto restrict when the channel map is available for use.
 6. The printercartridge of claim 5, wherein the condition is set to default so thatthe channel map is available to be used.
 7. The printer cartridge ofclaim 1, wherein the recipe includes a stack model.
 8. The printercartridge of claim 7, wherein the stack model includes reverse Polishnotation.
 9. The printer cartridge of claim 1, wherein the instructionsof the recipe are to match at least one of the properties with at leastone of the tags.
 10. The printer cartridge of claim 1, wherein theinstructions of the recipe define an operation for building a CMYK colormap for color matching an RGB source color to a mode of the printer. 11.The printer cartridge of claim 10, wherein the mode is based on theprint media type and the print quality.
 12. The printer cartridge ofclaim 11, wherein the print media type is a plain paper and the printquality a normal quality.
 13. The printer cartridge of claim 1, whereinthe recipe leverages a channel map from a prior printer platform.
 14. Anink cartridge comprising: a depositing material storage containing inkof a first color; and a storage device carried by the cartridge, thestorage device including: metadata; and primitive data includingprimitive data elements to build a plurality of channel maps, themetadata and the primitive data are to provide data to a printer forbuilding a plurality of channel maps of the first color to be combinedwith other channel maps of other colors to multi-channel color maps,wherein respective ones of the channel maps corresponding to arespective media type and output quality, for respective ones of thechannel maps, the primitive data elements include: a neutral axisrelating to a line extending from an origin of a three-dimensional colortable to a node of the color table farthest from the origin; a set ofseed nodes corresponding to nodes of a compressed channel map; and adelta table indicative of a difference between an interpolated channelmap node and a corresponding actual channel map, and for respective onesof the plurality of channel maps, the metadata includes: tags toidentify a color space, the type of print media, print quality, printerplatform, and supply family; and properties to describe at least one ofthe color channel or count of nodes of the channel map, and atinstallation of the printer cartridge, communication of the metadata andprimitive data from the printer cartridge to the printer are to changethe physical printing output of the printer.
 15. The ink cartridge ofclaim 14, wherein the meta data includes a recipe including instructionsfor the printer to build at least one of the channel maps of theplurality of channel maps based on the primitive data elements.
 16. Theink cartridge of claim 14, wherein the primitive data elements includethe neutral axis, the set of seed nodes, and the delta table of thecorresponding primitive data.
 17. The ink cartridge of claim 14, whereinthe nodes of the compressed channel map indicate colorant outputamounts.
 18. The ink cartridge of claim 14, wherein the propertiesinclude an ink cartridge version.
 19. The ink cartridge of claim 14,wherein the metadata includes a condition that is set to default.
 20. Aprinter cartridge comprising: a depositing material of a first color;and memory including: primitive data; and metadata, wherein the metadatais to be used to: identify the plurality of channel maps, and build aplurality of channel maps from the primitive data; wherein respectiveones of the channel maps: correspond to the first color, are to becombined with other channel maps of one or more colors different thanthe first color to build a color transform map to convert from an inputcolor model to an output color model for printing, correspond to apredetermined print media type of a plurality of different print mediatypes corresponding to the plurality of channel maps, and correspond toa predetermined print quality of a plurality of different printqualities corresponding to the plurality of channel maps; the metadataincludes: a plurality of tags, respective tags associated withrespective ones of the plurality of channel maps to identify at leastone of a color space, a print media type of the plurality of print mediatype, a print quality of the plurality of print qualities, a printerplatform, or a supply family, for each channel map of the plurality ofchannel maps, properties that include at least one of a channel or nodecount of an associated channel map of the plurality of channel maps, anda recipe including instructions for the printer to build at least one ofthe channel maps of the plurality of channel maps from the primitivedata; and at installation of the printer cartridge, the metadata andprimitive data are to change the physical printing output of the printerby communicating, from the printer cartridge to the printer, a change inat least one channel map.
 21. The printer cartridge of claim 20, whereinthe primitive data elements include: a neutral axis relating to a lineextending from an origin of a three-dimensional color table to a node ofthe color table farthest from the origin; a set of seed nodescorresponding to nodes of a compressed channel map; and a delta tableindicative of a difference between an interpolated channel map node anda corresponding actual channel map, wherein the recipe includesinstructions for the printer to build at least one of the channel mapsof the plurality of channel maps based on the primitive data elements.22. The printer cartridge of claim 20, wherein the recipe includesreverse Polish notation.
 23. The printer cartridge of claim 20, whereinthe instructions of the recipe are to match at least one of theproperties with at least one of the tags.
 24. The printer cartridge ofclaim 20, wherein the instructions of the recipe define an operation forbuilding a CMYK color map for color matching an RGB source color to amode of the printer.